#ifndef MUTAPACKETLISTENER_H
#define MUTAPACKETLISTENER_H

#include "osc/OscPacketListener.h"
#include "QString"
#include <QObject>

class MutaPacketListener : public QObject, public osc::OscPacketListener
{
    Q_OBJECT
public:
    MutaPacketListener();
protected:
    virtual void ProcessMessage( const osc::ReceivedMessage& m,
                                const IpEndpointName& remoteEndpoint );
private:
    int serverPort;

signals:
    void addMutaEvent(QString objectID,QString owner,float x, float y, int layer, float length);
    void addMutaLine(QString objectID, QString type,QString owner,float x,float y,int layer,QString controlPoints);
    void removeMutaObject(QString objectID);
    void setMutaX(QString objectID,float x);
    void setMutaY(QString objectID,float y);
    void setControlPoints(QString objectID,QString controlPointString);
    void userAdded(QString userName);
    void userRemoved(QString userName);
    void addUserCursor(QString objectID,QString owner);
    void loggedIn();
    void startAllNotes();
};

#endif // MUTAPACKETLISTENER_H
